// samsting : this file is auto create.

#ifndef ALIYUN_Rds_Region_DescribeDBInstancePerformanceResponse_H_
#define ALIYUN_Rds_Region_DescribeDBInstancePerformanceResponse_H_

#include "core/acs_response.h"

namespace aliyun { namespace Rds_Region {

class DescribeDBInstancePerformanceResponse : public AcsResponse {
public:
  DescribeDBInstancePerformanceResponse();

  class PerformanceKey {
    friend class DescribeDBInstancePerformanceResponse;
  public:

    class PerformanceValue {
      friend class DescribeDBInstancePerformanceResponse;
      friend class PerformanceKey;
    public:
      const string& GetValue(void) const;
      const string& GetDate(void) const;
    private:
      string Value_;
      string Date_;
    }; // PerformanceValue 

    const std::vector<PerformanceValue>& GetValues(void) const;
    const string& GetKey(void) const;
    const string& GetUnit(void) const;
    const string& GetValueFormat(void) const;
  private:
    std::vector<PerformanceValue> Values_;
    string Key_;
    string Unit_;
    string ValueFormat_;
  }; // PerformanceKey 

  const std::vector<PerformanceKey>& GetPerformanceKeys(void) const;
  const string& GetDBInstanceId(void) const;
  const string& GetEngine(void) const;
  const string& GetStartTime(void) const;
  const string& GetEndTime(void) const;

private:
  std::vector<PerformanceKey> PerformanceKeys_;
  string DBInstanceId_;
  string Engine_;
  string StartTime_;
  string EndTime_;

protected:
  const char* BaseKey(void);
  void         UnmarshallerMap(std::map<string, string>& response_map);

};

} } // namespace aliyun { namespace Rds_Region {

#endif // #ifndef ALIYUN_Rds_Region_DescribeDBInstancePerformanceResponse_H_

// end of file 
